Applications for integrated circuit data processors are rapidly increasing. Various applications for these data processor devices may require varying configurations of the input-output circuitry associated with a data processor device. In order for a single data processor device to be employed within these varying applications, the input-output circuitry of a data processor must be flexible such that it can be programmed to satisfy the needs of any particular application. In co-pending application Ser. No. 873,045, now abandoned "Microcomputer" by Wiles et al, assigned to the assignee of the present invention and incorporated herein by reference, a microcomputer is disclosed which has a plurality of operating modes which allow the microcomputer device to be used in a wide variety of configurations.
One prior art approach for providing various configurations of the input-output circuitry for a data processor is to provide a plurality of mask options which vary the integrated circuit metal interconnections during processing such that a particular metal mask is used to provide an integrated circuit data processor of the desired configuration. However, this approach results in higher costs for processing, testing, and inventory control since each mask option results in a unique integrated circuit. Another prior art approach is to make the configuration of the processor device software programmable such that instructions are stored in a program memory which must be executed by the processor to achieve the desired configuration of the input-output circuitry for the data processor device. However, this approach increases the number of storage locations required for the program memory. A third prior art approach is to hardware-program the mode of operation by providing separate program selection inputs to the data processor for configuring the input-output circuit. This approach is also costly in that additional package pins are required for the integrated circuit device in order to determine the mode of operation.